#ifndef INVENTORY_HH
#define INVENTORY_HH

#include <vector>
#include <iostream>
#include "Item.hh"

// Represents a player's item storage. Handles item management such as 
// adding, displaying, and checking inventory contents. 

class Player;

class Inventory {
    private:
        std::vector<Item> items;

    public:
        Inventory()=default;
        ~Inventory()=default;
        Inventory(const Inventory& other)=default;
        Inventory& operator=(const Inventory& other)=default;
        std::vector<Item>& getItems();
        const std::vector<Item>& getItems() const;
        void addItem(const Item& item);
        void showItems() const;
        bool isEmpty() const;
    };

#endif
